DIGITAL PLUS TV - VERSION HOSTING CON RED DE REVENDEDORES
=========================================================

REQUISITOS DEL HOSTING
----------------------
- PHP 8 o superior.
- PDO SQLite activo.
- Permiso de escritura en la carpeta data/.
- Recomendado: hosting Apache/cPanel.

INSTALACION
-----------
1. Sube la carpeta completa al hosting.
2. Abre en el navegador:
   https://tudominio.com/reproductor_digital_plus_tv_hosting_v5_red_resellers/install.php
3. Al abrir install.php, si la instalacion sale correcta, el sistema redirige automaticamente al login:
   https://tudominio.com/reproductor_digital_plus_tv_hosting_v5_red_resellers/index.php
4. Por seguridad, elimina install.php despues de instalar.

ACCESOS INICIALES
-----------------
Estos datos NO se muestran en el login.

Administrador:
Usuario: admin
Contrasena: admin123

Cliente demo:
Usuario: demo
Contrasena: 1234

ROLES DEL SISTEMA
-----------------
1. ADMINISTRADOR
- Tiene creditos ilimitados.
- Puede ver toda la red completa.
- Puede crear administradores, revendedores y clientes.
- Puede aumentar o modificar conexiones.
- Puede asignar o quitar creditos a revendedores.
- Puede ver todos los movimientos de creditos.
- Puede ver quien creo cada usuario, fecha y hora.
- Puede importar M3U y administrar categorias/contenido.

2. REVENDEDOR
- No vence su cuenta.
- Tiene creditos asignados por el administrador o por otro revendedor superior.
- Puede crear sus propios clientes.
- Puede crear sus propios revendedores debajo de su cuenta.
- Puede transferir creditos a sus subrevendedores.
- Puede ver su red de clientes y revendedores.
- No puede aumentar conexiones manualmente.
- Los clientes que crea quedan con 3 conexiones fijas.
- Cada cliente creado consume 1 credito.

3. CLIENTE
- Solo entra al reproductor.
- No ve panel admin, M3U, host ni datos internos.
- Su cuenta si vence segun los meses asignados.
- Puede tener conexiones simultaneas segun la cantidad configurada.

REGLA DE VENCIMIENTO
--------------------
- Administradores: no vencen.
- Revendedores: no vencen.
- Clientes: si vencen.

CONEXIONES
----------
- Los clientes creados por revendedor quedan con 3 conexiones fijas.
- Solo el administrador puede modificar conexiones.
- El sistema bloquea conexiones simultaneas reales desde el servidor.
- Una sesion se considera inactiva despues del tiempo configurado en config.php.

MOVIMIENTOS DE CREDITOS
-----------------------
El sistema registra:
- Asignacion de creditos por administrador.
- Ajustes manuales de creditos.
- Transferencias entre revendedores.
- Devoluciones de creditos cuando se reduce saldo de un subrevendedor.
- Consumo de 1 credito al crear cliente.

En la seccion Movimientos se muestra:
- Fecha y hora.
- Tipo de movimiento.
- Actor que realizo el cambio.
- Desde que usuario salieron los creditos.
- Hacia que usuario fueron los creditos.
- Usuario afectado.
- Cantidad de creditos.
- Nota del movimiento.

LISTAS Y CONTENIDO
------------------
- Solo el administrador puede importar listas M3U desde la seccion Importar M3U.
- El cliente final nunca ve esos datos.

SEGURIDAD IMPORTANTE
--------------------
- Cambia la contrasena del usuario admin apenas instales el sistema.
- Elimina install.php despues de instalar.
- Protege la carpeta data/.
- Usa contenido propio o autorizado.
- Este sistema no elimina DRM ni bloqueos externos del proveedor.

ACTUALIZACION - REGISTRO DE CLIENTES
------------------------------------
- El sistema registra clientes creados por el administrador.
- El sistema registra clientes creados por revendedores/resellers.
- Cada registro muestra creador, usuario afectado, fecha y hora.
- Los clientes creados por reseller consumen 1 credito.
- Los clientes creados por administrador se registran sin descontar creditos porque el admin tiene creditos ilimitados.
- Si ya existian clientes antes de esta version, el sistema agrega un registro automatico al historial sin duplicar los movimientos existentes.

ACTUALIZACION - ORDEN DE CONTENIDO
- El reproductor inicia en Canales.
- El orden visual queda forzado en todas las vistas: Canales, Peliculas, Series.
- El orden por defecto al importar tambien queda: Canales, Peliculas, Series.
- Las consultas del servidor ordenan el contenido como: Canales, Peliculas, Series.


Correccion login directo:
- install.php ya no muestra mensaje de sistema instalado ni boton Abrir sistema.
- Si instala correctamente, redirige automaticamente a index.php para mostrar el login.
- Se actualizo la version de app.js/style.css para evitar cache del navegador.

ACTUALIZACION 1.2.1 - CORRECCION MOVIMIENTOS
---------------------------------------------
- Se corrigio la migracion de la tabla credit_movements para bases antiguas.
- La seccion Movimientos carga aunque el hosting ya tenga una base creada con una version anterior.
- Si actualizas encima de una instalacion existente, sube todos los archivos y entra de nuevo al sistema; api.php ejecuta la migracion automaticamente.
- Se cambio la version de app.js/style.css para evitar cache del navegador.


ACTUALIZACION FORMULARIOS OCULTOS
- Los formularios de usuarios/clientes/revendedores y contenido permanecen ocultos al entrar a cada seccion.
- Para registrar algo nuevo, presiona el boton Agregar.
- Para modificar un registro existente, presiona Editar.
- Dentro del formulario, Cancelar cierra el formulario sin guardar.

ACTUALIZACION 1.3.0 - CATEGORIAS / CARPETAS
--------------------------------------------
- Se agrego la seccion Categorias en el panel administrador.
- Las categorias se separan por tipo: Canales, Peliculas y Series.
- Cada categoria funciona como carpeta para cargar y ordenar contenido.
- Se agregaron botones Subir y Bajar para ordenar las carpetas.
- El reproductor muestra las categorias segun el orden definido por el administrador.
- Al importar una lista M3U, el sistema crea automaticamente las categorias detectadas por group-title.
- Al agregar contenido manualmente, el campo Categoria muestra sugerencias segun el tipo elegido.
- La importacion M3U permite elegir tipo y categoria por defecto cuando la lista no trae una carpeta clara.

NOTA DE ACTUALIZACION EN HOSTING
--------------------------------
Si ya tienes una instalacion anterior, sube y reemplaza todos los archivos, pero NO borres la carpeta data/ si quieres conservar usuarios, clientes, creditos y contenido.
Al entrar al sistema, api.php actualiza automaticamente la base de datos y crea la tabla categories si no existe.

NUEVO: USO EN APPS EXTERNAS DE PLAY STORE
-----------------------------------------
Esta version agrega compatibilidad basica tipo M3U/Xtream para que los clientes puedan usar su mismo usuario y contrasena en aplicaciones externas compatibles.

Opciones disponibles:

1) Conexion tipo Xtream Codes:
   Host: https://tudominio.com/ruta-del-sistema
   Usuario: usuario_del_cliente
   Contrasena: contrasena_del_cliente
   Puerto: 80 si usas http, 443 si usas https.

   Nota: el puerto 8080 solo funcionara si tu hosting, VPS o servidor lo tiene abierto y apuntando al sistema. En hosting compartido normalmente no se puede activar manualmente desde PHP.

2) Conexion por lista M3U:
   https://tudominio.com/ruta-del-sistema/get.php?username=USUARIO&password=CONTRASENA&type=m3u_plus&output=m3u8

3) API compatible:
   https://tudominio.com/ruta-del-sistema/player_api.php?username=USUARIO&password=CONTRASENA

4) Rutas de reproduccion generadas:
   /live/USUARIO/CONTRASENA/ID.m3u8
   /movie/USUARIO/CONTRASENA/ID.mp4
   /series/USUARIO/CONTRASENA/ID.mp4

IMPORTANTE SOBRE CONEXIONES
---------------------------
El sistema registra conexiones externas por usuario usando IP + dispositivo/navegador/app. Si el usuario supera sus conexiones permitidas, la API bloquea nuevas conexiones hasta que caduquen por inactividad.

IMPORTANTE SOBRE PUERTOS 80 Y 8080
----------------------------------
PHP no puede abrir puertos por si solo en un hosting compartido. El puerto depende del servidor web del hosting.
- Dominio normal por http: puerto 80.
- Dominio con SSL por https: puerto 443.
- Puerto 8080: requiere que el hosting/VPS lo tenga habilitado y redirigido a esta carpeta.

RECOMENDACION
-------------
Si quieres que las apps pidan solo Host + Usuario + Contrasena + Puerto, instala el sistema en la raiz de un dominio o subdominio, por ejemplo:
https://tv.tudominio.com
Asi el host para las apps sera mas limpio.

ACTUALIZACION DE USUARIOS INICIALES
-----------------------------------
En esta version, los usuarios iniciales admin y demo se crean solo una vez.
Luego puedes editarlos desde Usuarios: cambiar usuario, contrasena, rol permitido, estado, conexiones y meses segun corresponda.
Si cambias el nombre de admin o demo, el sistema ya no volvera a generar automaticamente esos nombres por defecto.

Recomendacion: despues de instalar, entra con admin y cambia la contrasena principal.

ACTUALIZACION 1.2.9:
- Se quito la opcion visible Listas / accesos del panel administrador.
- La importacion M3U queda manual desde la seccion Importar M3U.


ACTUALIZACION 1.4.3:
- Se agrego opcion para eliminar categorias/carpeta ya cargadas.
- En Categorias puedes eliminar solo la carpeta; el contenido queda sin categoria y la tabla puede quedar en 0.
- Tambien puedes eliminar la carpeta junto con todo su contenido.
- En Movimientos el administrador puede eliminar un movimiento individual.
- En Movimientos el administrador puede eliminar todo el historial.


VERSION 1.3.0
- Al importar M3U, las categorias se crean segun el primer orden en que aparecen en la lista.
- El contenido importado se guarda y se muestra dentro de cada categoria en el mismo orden de la lista, no ordenado alfabeticamente.
- Las instalaciones antiguas migran la columna sort_order de contenido sin borrar datos.


ACTUALIZACION 1.4.0 - ROLES Y VENCIMIENTOS
- Solo los clientes tienen conexiones y fecha de vencimiento.
- El administrador puede marcar clientes con tiempo ilimitado.
- Administradores y revendedores no vencen y no tienen limite de conexiones.
- Los revendedores manejan creditos y pueden crear clientes/subrevendedores segun su saldo.


ACTUALIZACION 1.6.0 - CATEGORIAS EN 0
- Se elimino la creacion automatica de categorias por defecto.
- El panel ahora tiene el boton "Vaciar categorias" para dejar la tabla de categorias en 0.
- Al eliminar una categoria sin borrar contenido, el contenido queda sin categoria y no se crea automaticamente "Sin categoria".
- Si importas una lista M3U con group-title, se volveran a crear solo las categorias que vengan en esa lista.


ACTUALIZACION 1.6.1:
- Se quito el boton superior de eliminar movimientos.
- Se quito el boton superior de vaciar categorias.
- Se corrigio la eliminacion de categorias en tiempo real.
- Se elimino la llamada JS inexistente que impedia refrescar categorias despues de borrar.


ACTUALIZACION - SERVIDORES
--------------------------
- Se agrego la seccion Servidores dentro del panel administrador.
- Permite registrar/instalar un servidor solicitando IP o dominio, puerto y contrasena.
- Ya no solicita capacidad total, RAM, CPU, almacenamiento ni ancho de banda manual al registrar servidor.
- Incluye boton Verificar en linea para comprobar si la IP/dominio responde en el puerto configurado, por ejemplo 80 o 8080.
- Por seguridad, esta funcion no ejecuta comandos SSH ni instala paquetes remotos automaticamente; registra el servidor y verifica conectividad TCP desde el hosting.
- Si necesitas instalacion real por SSH, se recomienda hacerlo con un script privado en VPS propio y con claves SSH, no guardando contrasenas en texto plano dentro del hosting.


ACTUALIZACION 1.7.1 - CORRECCION M3U / HLS
----------------------------------------------
- Se agrego proxy HLS interno para reproducir mejor listas .m3u8 desde el hosting.
- La importacion M3U ahora usa cURL con redirecciones, user-agent y fallback para hostings con allow_url_fopen desactivado.
- Si una URL M3U no descarga, ahora muestra detalle del error remoto para diagnosticar host, puerto, SSL o bloqueo del proveedor.
- Si el reproductor encuentra contenido HLS, carga hls_proxy.php en lugar de depender solo de una redireccion directa.

IMPORTANTE:
El proxy HLS mejora reproduccion por navegador, pero consume ancho de banda de tu hosting porque los segmentos pasan por tu servidor. En listas muy pesadas o con muchos usuarios simultaneos conviene usar VPS o servidor con buen ancho de banda.


ACTUALIZACION 1.7.2 - SERVIDORES EN TIEMPO REAL
------------------------------------------------
- La opcion Servidores ahora solo pide nombre, IP/dominio, puerto, contrasena y estado activo/inactivo.
- Se quitaron los campos manuales de capacidad, RAM, CPU, almacenamiento, ancho de banda y detalles.
- El boton Verificar en linea detecta en tiempo real si el puerto responde.
- Cuando hay respuesta HTTP, muestra codigo HTTP, software del servidor si lo devuelve y latencia.
- Se agrego migracion automatica para guardar los datos detectados en vivo.

ACTUALIZACION 1.8.0 - MONITOREO DE SERVIDORES
----------------------------------------------
- La seccion Servidores ahora muestra graficos redondos de CPU, RAM y disco usado.
- Tambien muestra trafico recibido/enviado y velocidad actual de bajada/subida.
- Al guardar un servidor, el sistema verifica automaticamente el estado y actualiza el monitoreo.
- Para ver CPU/RAM/trafico reales de un servidor remoto, sube el archivo monitor_agent.php a la raiz de ese servidor.
- Abre monitor_agent.php y cambia esta linea:
  $MONITOR_PASSWORD = 'cambiar_esta_contrasena';
  por la misma contrasena que registrarás en el panel Servidores.
- Si no instalas monitor_agent.php, el panel solo podra saber si el puerto esta abierto y si responde HTTP, pero no podra leer CPU/RAM/trafico reales.

ACTUALIZACION 1.9.0 - SERVIDORES EN LINEA Y USO DE RECURSOS
------------------------------------------------------------
- La seccion Servidores muestra claramente EN LINEA, FUERA DE LINEA o SIN VERIFICAR.
- Al guardar/verificar un servidor se comprueba monitor_agent.php y edge_agent.php.
- CPU, RAM, disco, trafico y velocidad salen de monitor_agent.php.
- Para que la reproduccion use recursos/ancho de banda del servidor agregado, sube edge_agent.php al servidor remoto.
- En edge_agent.php cambia AGENT_SECRET por la misma clave que registras como "Contrasena del servidor" en el panel.
- Marca "Usar recursos para reproducir" en el servidor agregado.
- El sistema usara automaticamente un servidor activo, en linea y con edge_agent.php autorizado.
- Si no hay ningun servidor edge disponible, el sistema usa el hosting principal como respaldo.

INSTALACION DEL AGENTE EDGE EN CADA SERVIDOR REMOTO
---------------------------------------------------
1. Sube edge_agent.php al servidor remoto, en la raiz web del dominio/IP.
2. Edita esta linea dentro de edge_agent.php:
   const AGENT_SECRET = 'CAMBIA_ESTA_CLAVE';
3. Coloca una clave fuerte.
4. En el panel Digital Plus Tv, agrega ese servidor con la misma clave en "Contrasena del servidor".
5. Presiona Verificar en linea.
6. Si aparece Edge de reproduccion conectado, ese servidor ya puede usarse para reproducir contenido.

ACTUALIZACION 2.0.0 - SERVIDOR PRINCIPAL AUTOMATICO
---------------------------------------------------
- Al montar/instalar el sistema se crea automaticamente el Servidor principal.
- El Servidor principal corresponde al hosting donde esta alojado Digital Plus Tv.
- Aparece primero en la seccion Servidores.
- Muestra EN LINEA de forma automatica mientras el panel este cargando desde ese hosting.
- Muestra CPU, RAM, disco, trafico recibido/enviado y velocidad cuando el hosting permite leer metricas del sistema.
- No pide IP, puerto ni contrasena para el Servidor principal: se detecta automaticamente.
- El Servidor principal no se puede eliminar desde el panel porque representa el propio hosting del sistema.
- Los servidores remotos siguen pudiendo agregarse manualmente con IP/dominio, puerto y contrasena.


ACTUALIZACION EN TIEMPO REAL DE SERVIDORES
-----------------------------------------
La seccion Servidores actualiza automaticamente en tiempo real con intervalo natural de pocos segundos mientras el administrador permanece en esa pantalla, evitando sobrecargar el hosting.
El sistema refresca estado EN LINEA/FUERA DE LINEA, CPU, RAM, disco, trafico y velocidad.

Para el servidor principal, las metricas se leen desde el hosting donde esta montado el panel cuando PHP permite acceder a /proc y funciones del sistema.
Para servidores remotos, sube monitor_agent.php al servidor remoto y usa la misma contrasena configurada en el panel.
Si el agente remoto no esta instalado, el panel solo podra comprobar estado de puerto/HTTP y no CPU/RAM reales.


Actualizacion 2.4.0:
- Las conexiones en linea de usuarios se actualizan de forma natural, no cada 1 segundo.
- Baja la frecuencia cuando la pestana esta en segundo plano para no sobrecargar el hosting.

ACTUALIZACION 2.5.0 - DNS EXTERNOS PARA APPS
----------------------------------------------
Se agrego la seccion "DNS externos" en el panel administrador.

Desde esa seccion puedes registrar varios dominios o DNS que apunten al mismo sistema para entregar mas enlaces de acceso a tus clientes.

Campos disponibles:
- Nombre del DNS.
- Protocolo: http o https.
- DNS / dominio: ejemplo tv.midominio.com.
- Puerto: normalmente 443 para https, 80 para http, o 8080 si tu servidor lo tiene habilitado.
- Ruta base: usar solo si el sistema esta instalado en una carpeta, por ejemplo /reproductor.
- Estado activo/inactivo.
- Notas.

Cada DNS genera automaticamente:
- Host para aplicaciones externas.
- API Xtream: /player_api.php?username=USUARIO&password=CONTRASENA
- Lista M3U: /get.php?username=USUARIO&password=CONTRASENA&type=m3u_plus&output=m3u8

Importante:
El DNS debe apuntar al mismo hosting o servidor donde esta instalado Digital Plus Tv. Si el DNS apunta a otro servidor que no tiene estos archivos, la verificacion puede mostrar el puerto abierto, pero las apps no podran usar player_api.php ni get.php correctamente.

ACTUALIZACION 2.6.0 - MONITOREO SUAVE SIN MENSAJE
- Se quito el mensaje visible "Monitoreo en tiempo real activo" y "Ultima actualizacion".
- El panel de servidores queda limpio, mostrando solo la informacion de cada servidor.
- El monitoreo ahora usa una actualizacion visual suave con animacion de milisegundos en CPU, RAM y disco.
- Las consultas al servidor se mantienen controladas para evitar saturar el hosting, pero la vista se percibe mas fluida.
- Se actualizo app.js y style.css a v=2.6.0 para evitar cache.

ACTUALIZACION 2.8.0 - DESTINO DE CONTENIDO
--------------------------------------------
En la seccion Contenido se agrego la opcion Destino / uso de recursos.

Opciones disponibles:
1. Panel principal / hosting
   El contenido usa el hosting donde esta montado el sistema. Para HLS usa el proxy interno del panel.

2. Servidor remoto agregado
   El contenido se envia por el servidor remoto seleccionado. Ese servidor debe tener edge_agent.php instalado, estar activo y aparecer en linea.

3. Link directo externo
   El navegador o la app consume directamente el enlace original ingresado. Esta opcion no usa recursos del panel ni de los servidores agregados, pero algunos enlaces HLS pueden requerir CORS para reproducir en navegador.

La importacion M3U tambien permite elegir el destino para todos los contenidos importados.

ACTUALIZACION 2.9.0 - DESCONEXION DE CLIENTES
----------------------------------------------
- En Usuarios, junto a conexiones permitidas y conexiones en linea, ahora se muestra si el cliente esta conectado o desconectado.
- Si el cliente cierra sesion, cierra la pestana o cierra la aplicacion web, el sistema registra la desconexion mediante una senal automatica.
- Si el cliente usa una app externa y deja de enviar solicitudes, el sistema lo marca como desconectado cuando vence el tiempo de sesion sin senal.
- Se muestra la hora aproximada de desconexion y el motivo: cerro sesion, cerro app/pestana o sin senal.


ACTUALIZACION - IP Y PAIS DE CLIENTES
- En Usuarios, cada cliente muestra IP detectada y pais.
- Si el cliente esta conectado, muestra las IPs activas.
- Si esta desconectado, muestra la ultima IP y pais registrados.
- Funciona tambien con accesos desde aplicaciones externas compatibles, usando el registro de sesiones activas.
- La deteccion de pais usa cache local y puede depender de que el hosting permita consultas externas o cabeceras como Cloudflare.

ACTUALIZACION 3.0.0 - HISTORIAL DE CONEXIONES
----------------------------------------------
- Se agrego la seccion Historial conexiones en el panel.
- Registra conexion y desconexion de clientes, administradores y revendedores.
- Guarda usuario, rol, IP, pais, package de la aplicacion, fecha, hora y motivo.
- Registra accesos desde el panel web y desde aplicaciones externas compatibles.
- Cuando una app externa deja de enviar senal, la desconexion queda registrada al limpiar sesiones vencidas.
- El administrador puede eliminar un registro puntual o vaciar todo el historial.


VERSION 3.2.0 - Correccion reproduccion
- Corrige importacion M3U con playback_mode/server_id.
- El panel web usa proxy HLS para evitar errores CORS/segmentos relativos.
- Apps externas usan proxy HLS autenticado cuando el contenido se reproduce desde panel principal o edge.
- Se agregan hls_api_proxy.php y hls_api_segment.php para rutas Xtream/M3U externas.


=== REPRODUCCION UNIVERSAL 3.4.0 ===
Esta version intenta reproducir enlaces en cascada:
1) HLS .m3u8 mediante proxy interno.
2) Archivos compatibles con navegador mediante media_proxy.php.
3) Modo universal con universal_hls.php, que usa FFmpeg para convertir enlaces .ts, mkv, avi, rtsp o rtmp a HLS cuando el servidor tenga FFmpeg habilitado.

Limitaciones reales:
- No reproduce enlaces caidos, vencidos, privados o con DRM.
- Para formatos no compatibles con navegador se necesita FFmpeg en el hosting/VPS.
- En hosting compartido puede que shell_exec/proc_open o FFmpeg esten deshabilitados. En ese caso usa VPS o servidor remoto con edge_agent.php/FFmpeg.

=== CORRECCION 3.5.0 - CANALES DIRECTOS .TS ===
- Los enlaces directos de canales con formato .ts ahora se tratan como contenido que requiere modo universal.
- El reproductor intenta primero universal_hls.php con FFmpeg para convertir .ts a HLS reproducible en navegador.
- Se agregaron cabeceras de reproductor real para FFmpeg: user-agent, accept y reconexion HTTP.
- Los enlaces .m3u8 siguen usando HLS proxy como primera opcion.
- Para reproducir .ts en navegador de forma estable, el hosting/VPS debe tener FFmpeg habilitado. En apps IPTV externas, .ts puede reproducir directo.

VERSION XUI-LIKE PLAYER 3.7.0
-----------------------------
Se actualizo el reproductor para trabajar con un flujo tipo panel IPTV profesional:

- Vista por CATEGORIAS / CONTENIDO / PLAYER.
- Orden fijo: Canales, Peliculas, Series.
- Deteccion visual de formato: HLS, TS, MKV o AUTO.
- Boton Abrir contenido para probar la ruta del sistema en una pestana nueva.
- Boton Copiar enlace del sistema.
- Boton Diagnosticar para verificar codigo HTTP, host, tipo de contenido, extension y disponibilidad de FFmpeg.
- Reproduccion en cascada: HLS proxy, TS con mpegts.js, modo universal FFmpeg y proxy directo.

Nota tecnica:
El sistema queda inspirado en el flujo de uso de paneles IPTV tipo XUI, pero no copia marca, codigo ni interfaz propietaria. Para enlaces .TS y .MKV, la reproduccion web depende del codec, CORS y/o FFmpeg. En apps IPTV externas el endpoint Xtream/M3U sigue disponible.

VERSION 3.8.0 - PANEL ADMIN ESTILO IPTV PROFESIONAL
- Panel administrador reorganizado con menu lateral fijo, secciones operativas y dashboard tipo panel IPTV.
- No copia marca ni interfaz propietaria de XUI One; es un diseño propio inspirado en flujo profesional de administracion IPTV.
- Se mantienen las funciones previas: usuarios, resellers, creditos, servidores, DNS, categorias, contenido, M3U e historial.


Actualizacion 3.9.0:
- Menus renombrados: Usuarios, Contenido y Categorias.
- Al agregar contenido, la categoria se selecciona desde una lista de categorias cargadas.

ACTUALIZACION 4.0.0
-------------------
- Se agrego la opcion Mi Perfil.
- El administrador puede editar su usuario y contrasena desde Perfil.
- Revendedores y clientes solo pueden cambiar la contrasena desde Perfil.
- Se quito el encabezado superior duplicado con nombre, rol y creditos.
- Se agrego boton lateral para abrir/cerrar el panel izquierdo.
- Al iniciar sesion como administrador o revendedor carga directamente el Dashboard.


Version perfil marca 4.2.0:
- En Mi Perfil, solo el administrador puede editar el nombre del sistema.
- En Mi Perfil, solo el administrador puede subir/cambiar el logo del sistema.
- Revendedores y clientes mantienen permiso limitado: solo cambio de contrasena.
- El logo se guarda en /uploads/system/ y se muestra en login y panel lateral.

ACTUALIZACION 4.8.0:
- Se quito cualquier bloque de usuario activo en vista revendedor/admin.
- El menu Mi Red ahora aparece como Usuarios.
- La seccion Usuarios muestra titulo Usuarios para administrador y revendedor.
